#include <iostream>
using namespace std;

template <class Comparable=double>
class Comparer
{
private:
	Comparable v;
public:
	Comparer(const Comparable &va):v(va){}
	bool isSmaller (const Comparable &va);
};

template <class Comparable>
bool Comparer <Comparable>::isSmaller(const Comparable &va)
{
	return v<va;
}

void main()
{
	typedef Comparer <int> CompInt;
	CompInt ci(5);
	Comparer <> cb(4.2);
	cout << ci.isSmaller(5.6) << endl;
	cout << ci.isSmaller(6) << endl;
	cout << cb.isSmaller(5) << endl;
	cout << cb.isSmaller(4.1) << endl;
}